
import { State } from "../AState";
import { BinaryDecision } from "./Decision";
import { DecisionTreeNode } from "./DecisionTreeNode";

export class TargetState<T extends State=State,U extends IStateArg = IStateArg> extends DecisionTreeNode
{
    type:number=1;
    public testValue(arg: any): boolean {
        return true;
    }
    private state:T;
    constructor( state:T)
    {
        super();
        this.state = state;
    }
    getActions(arg:U): Action[]
    {

        const actions:Action[] = this.state.getActions(arg);
         return actions;
    }
    getTargetState(): T
    {
        return this.state;
    }
    public makeDecision(arg:U): DecisionTreeNode {


        return this;
    }
}
